package com.shanzhu.beadhouse.service;

import com.shanzhu.beadhouse.entity.base.Result;
import com.shanzhu.beadhouse.entity.query.WechatPayQuery;
import com.shanzhu.beadhouse.entity.vo.WechatPayResultVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 微信支付服务接口
 */
public interface WechatPayService {
    
    /**
     * 创建微信支付订单
     */
    Result createPayment(WechatPayQuery query);
    
    /**
     * 查询支付状态
     */
    Result queryPaymentStatus(String orderNo);
    
    /**
     * 处理微信支付回调
     */
    String handlePaymentNotify(HttpServletRequest request, HttpServletResponse response);
    
    /**
     * 关闭支付订单
     */
    Result closePayment(String orderNo);
    
    /**
     * 申请退款
     */
    Result refund(String orderNo, String reason);
} 